Method for transmission of a process value and control system

ABSTRACT

Control system with at least one control unit, a server computer, a first document in a markup language and a second document in a markup language for loading through a client computer, whereby the first document contains at least one field and the second document contains data for directing the field to an address in a control unit.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is the US National Stage of International ApplicationNo. PCT/DE02/03103, filed Aug. 23, 2002 and claims the benefit thereof.The International Application claims the benefits of German applicationNo. 10144332.3 filed Sep. 10, 2001, both of the applications areincorporated by reference herein in their entirety.

FIELD OF INVENTION

The invention relates to a method for transmission of a process valuefrom a control unit to a client computer as well as to a method fortransmission of an input value from a client computer to a control unitand a corresponding control system and computer program product.

BACKGROUND OF INVENTION

It is known per se from the prior art how to link a control system, forexample a stored program control (SPC) or a programmable logiccontroller (PLC), with a system server which can be accessed by a clientcomputer. The client computer can load HTML pages from the servercomputer, for example in order to display process values on a userinterface. The link between an output field of the HTML page and theprocess value is permanently programmed, for example by means of a JAVAscript or by means of OCX (OLE Control Extension).

A system for remotely accessing a control system via a commercialcommunications network is known from U.S. Pat. No. 6,061,603. FIG. 1shows a block diagram of this already known system.

The system comprises a personal computer 8 with a browser program 10.The browser 10 can be a commercially available Internet browser such as,for example, Netscape Communication Navigator or Microsoft InternetExplorer. The browser program 10 is used for accessing what is known asa website 4 via the Internet 14 in order to display the contents of thewebsite 4 on the monitor 12 of the personal computer 8 for a user 2.

The website 4 includes a network interface 16 with a unique Internetaddress 18 as well as a server computer 20 and an application program22. The server computer 20 serves to interpret HTTP protocols and usesTCP/IP by means of TCP/IP stack 24 in order to interact with the networkinterface 16 and the application program 22. This enables the data to betransferred between the application program 22 and the user 2 via theInternet 14.

The application program supplies data from a control system 6. This datacan be used by the user 2 for monitoring the controller, since said datacan be transferred by means of the TCP/IP stack 24 from the website 4via the Internet 14 to the personal computer 8 of the user 2. By thismeans a human-machine interface is created on the personal computer 8.

The user 2 can set up a connection to the Internet 14 by way of what istermed an Internet Service Provider (ISP) and then enter the address ofthe website 4 into the browser program 10. Using the browser 10 the user2 can then, for example, read a homepage of the website 4 and downloadinformation from said website 4. In response to an input by the user 2the browser 10 sends commands to the website 4, which commands are usedby the application program 22 in order to display information which isprovided by the control system 6. A disadvantage with this already knownsystem is in particular that the application program 22 has to beprogrammed specifically for a particular control system 6 and permits noflexibility of any kind.

The document XP 002163955, “c-Internet connector box miniwebserver”,Operating Instructions Rev 2.0 Internet Connector Box, Xx, Xx (Oct. 7,1999), 1-121 discloses a device (ICB) with an embedded Internet serverwith which dynamic Internet pages can be generated from an HTMLtemplate. Up to three devices which support a special protocol can beconnected to the ICB device. In order to communicate with such devices,the ICB device uses an information element which the devices sent to thedevice in their initialization phase.

XP010365709, Emerging Technologies And Factory Automation, 1999,Proceedings, Etfa '99, 1999 7^(th) IEEE International Conference On[sic] Barcelona, Spain 18-21 Oct. 1999, Piscataway, Ni, Usa, ieee, Us(18, Oct. 1999), 823-830 discloses a method for accessing fieldbusdevices using a client computer via the Internet. Here, a database or anXML document is used to provide a description of the fieldbus devices.The content of the HTML pages is then generated using the informationfrom the database or the XML document.

SUMMARY OF INVENTION

The object of the invention is therefore to create an improved methodfor transmission of a process value from a control unit to a clientcomputer as well as a method for transmission of an input value from aclient computer to a control unit and a corresponding control system andcomputer program product.

The object underlying the invention is achieved by the features of therespective independent claims.

Preferred embodiments of the invention are specified in the dependentclaims.

The invention permits the links between the fields of an HTML page andthe process values on the server to be parameterized and transferredtogether with the HTML page from the server computer to the clientcomputer. Elements on the HTML page can be identified in this case bymeans of an ID attribute, whereby the element type can be arbitrary.

A particular advantage is that the graphical layout of the HTML page caninitially be independent of the actual engineering data, i.e. forexample the actual addresses of the control system. The individualfields of the HTML page are then linked subsequently via a furtherdocument in a markup language, XML for example.

This permits the greatest possible flexibility also with regard tochanges on the HTML page or changes with regard to the control system,for example if a control system is to be replaced by a control system ofa new type which has different address ranges. In this case only theaddress ranges need to be re-assigned to the corresponding fields in theHTML page in the XML document.

Also of particular advantage is that this flexible access by the user tothe system controller can also take place via what is termed a firewall.The user can therefore log in from any location initially for exampleinto a corporate intranet via a corresponding firewall in ordersubsequently to enter into contact with the system server. What isparticularly advantageous here is that the user can also make inputs inaddition to being able to visualize process values.

BRIEF DESCRIPTION OF THE DRAWINGS

A preferred exemplary embodiment of the invention will be explained inmore detail in the following with reference to the drawings, in which:

FIG. 1 is a block diagram of a control system known from the prior art,

FIG. 2 is a block diagram of a first embodiment of the control systemaccording to the invention,

FIG. 3 is a block diagram of a second embodiment of the control systemaccording to the invention,

FIG. 4 is a flowchart of an embodiment of the method for transmission ofa process value from a control unit to a client computer,

FIG. 5 shows an embodiment of the method for transmission of an inputvalue from a client computer to a control unit,

FIG. 6 is a block diagram of a third embodiment of the control systemaccording to the invention.

DETAILED DESCRIPTION OF INVENTION

FIG. 2 shows a block diagram of a control system for controlling asystem 25. The system 25 is connected to one or more control units knownas stored program controls (SPCs)—designated as SPS X and SPS Y in theexample shown. The two control units SPS X and SPS Y each have differentaddresses, for accessing data for example. In particular, the controlunit SPS X has the addresses a and c for storing process values; thecontrol unit SPS Y has the address b.

The control units SPS X and SPS Y are connected to a system servercomputer 27 via a fieldbus 26. The system server computer 27 can executeread/write accesses to the storage addresses a, c of the SPS X and tothe address b of the SPS Y via the fieldbus 26.

The system server computer27 contains a document 28 in a markuplanguage. In the example shown in FIG. 2, the markup language used forthe document 28 is the hypertext markup language (HTML). The document 28contains the fields A, B and C for displaying and/or graphicallyvisualizing process values and/or for entering values. In addition, ascript 29 is coded in the document 28. This can be a JAVA script forexample. As an alternative to the script 29, a so-called applet can beprovided.

Also coded in the document 28 is a pointer 30 to a document 31. Thepointer 30 can consist, for example, of the Uniform Resource Locator(URL) of the document 31.

The document 31 is likewise available in a markup language, this beingan Extended Markup Language (XML) in the example shown in FIG. 2. Atable 32 is coded in the document 31.

Table 32 contains an assignment of the fields A, B and C of the document28 to specific storage addresses of the control units SPS X and SPS Y.In table 32, for example, field A is assigned to SPS X, and morespecifically to address a of SPS X, whereas field B is assigned toaddress b of SPS Y, and field C to address c of SPS X. Table 32 cancontain further assignments of this kind for further fields of thedocument 28 to further addresses of the SPS X and Y, as well as offurther control units where necessary.

By means of a browser 34 a client computer 33 can set up a connection tothe system server computer 27 via a network 35. The client computer 33can be a regular personal computer, an operator console, a portablecomputer, a mobile phone with WAP browser or also a so-called WAP pad.

The network 35 can be a corporate network or system-internal network, anintranet, extranet or the Internet itself. In the last-mentioned casethe communication can also be set up via a so-called firewall betweenthe client computer 33 and the system server computer 27. A commerciallyavailable browser program, for example Netscape Communication Navigatoror Microsoft Internet Explorer, can be used as the browser.

During operation of the system according to FIG. 2, a user of the clientcomputer 33 navigates by means of the browser 34 via the network 35 tothe HTML document 28. The user does this for example by selecting acorresponding hypertext link or entering the URL of the document 28 intothe browser 34.

The document 28 is then transferred via the network 35 to the clientcomputer 33. The script 29 of the document 28 is also launchedautomatically on the client computer 33 and executed. The script can be,for example, a JAVA script or a Visual Basic script; alternatively, aso-called applet can also be used.

The script 29 reads the pointer 30 of the document 28 and access thedocument 31 on the system server computer 27 by means of thecorresponding URL. The document 31 is then transferred via the network35 to the client computer 33.

The script 29 then reads the assignments of the fields A, B and C of thedocument 28 to the addresses of the control units SPS X and SPS Y fromtable 32, for example for field A the address specification indicatingthat a corresponding process value is stored on SPS X under the addressa.

The script 29 then sends a command to the system server computer 27,which command contains the control units and addresses assigned to thefields A, B and C. The system server computer 27 then accesses thecontrol units SPS X and/or SPS Y via the fieldbus 26 in order to readthe contents of the corresponding storage locations with the addressesa, b and c.

The corresponding process values stored at these storage addresses arethen transferred by the system server computer 27 via the network 35 tothe client computer 33 and displayed by the script 29 in thecorresponding fields A, B and C of the document 28 for the user.

FIG. 3 shows an alternative embodiment of the embodiment according toFIG. 2, in which alternative embodiment corresponding elements aredesignated by the same reference characters.

In contrast to the embodiment shown in FIG. 2, the system servercomputer 27 according to FIG. 3 contains the files 36 and 37. File 36contains a table which assigns to the document 28 a pointer to thedocument 31 belonging to the document 28. This corresponds to thepointer 30 of the embodiment shown in FIG. 2, whereby the file 36 doesnot belong to the document 28 of the embodiment shown in FIG. 3, but isstored separately on the system server computer 27. If further documents28 are present on the system server computer 27, the file 36 accordinglycontains pointers for the assignment of these further documents 28 tocorresponding further documents 31.

The document 31 contains a coded table 38 which corresponds to the table32 of the embodiment shown in FIG. 2. In contrast to table 32 of theembodiment shown in FIG. 2, table 38 of the embodiment shown in FIG. 3contains no actual addresses, but only the designation of parametervalue designations assigned to the fields A, B, C of the document 28.Field A, for example, is assigned to a parameter value with thedesignation “boiler”, the boiler temperature for example; field B isassigned to a parameter value with the designation “engine”, an enginespeed for example, and field C is assigned to a parameter value with thedesignation “pump”, a valve setting of the pump for example.

File 37, which is stored separately from the document 28 on the systemserver computer 27, assigns each designation of this kind to an addresson a control unit, for example the designation “boiler” to the controlunit SPS X and its storage address a, the designation “engine” to thecontrol unit SPS Y and its address b, etc.

During operation of the system shown in FIG. 3, the document 28 is thenloaded in turn by the client computer 33 and the script 29 executed. Thescript 29 then queries the file 36 for the pointer to the document 31which is assigned to the document 28 and then, by means of this pointer,loads the document 31. Using the designations assigned to the individualfields A, B and C in table 38 of the document 31, the script thenqueries the file 37 in order to obtain the corresponding addresses orcontrol units.

Using the addresses obtained in this way, the script 29 again sends acommand to the system server computer 27 in order to execute a query toobtain the corresponding parameter values of the specified addresses ofthe control units SPS X and SPS Y.

With this embodiment it is particularly advantageous that theassignments in the document 31 are made abstractly, which means that thedocument 31 does not need to be changed in the event of a change of thecontrol unit and/or the address. In this case only a change of thecorresponding address entry in the file 37 is required.

Both in the embodiment according to FIG. 2 and in the embodimentaccording to FIG. 3, it is also possible to transfer an input value fromthe client computer 33 to a control unit. To do this, the user enters aninput value in an input field of the document 28, in field A forexample. The script 29 is activated by actuation of the entry key by theuser of the client computer 33.

The script 29 then sends a command to the system server computer 27.This command contains as arguments the input value and also the addressand control unit assigned to the input field. This was determinedbeforehand by the script 29 on the occasion of the transfer of theprocess values from the control units to the client computer, asexplained above.

The system server computer 27 then executes a write access to thecorresponding address of the corresponding control unit—in the exampleunder consideration, for field A as the input field this is the SPS Xwith the address a—in order to store the input value there.

If only one control unit is present, table 32 or file 37 contains only acorresponding address specification, since the specification of thecontrol unit is superfluous in that case.

FIG. 4 shows a flowchart of an embodiment of the method for transmissionof a process value. In step 40, a document in a markup language, forexample HTML, is first loaded by the client computer. In step 41, ascript coded in the HTML page is launched and, in step 42, loads afurther document in a markup language, for example XML, assigned to theHTML page from the system server computer.

Using the address specifications in the XML document, in step 43 thescript queries the corresponding data for the fields of the HTMLdocument from the system server computer. In step 44, the system servercomputer then queries the corresponding data from the control unit orcontrol units. In step 45, this data is then transferred from the systemserver computer to the client computer, and in step 46 it is displayedin the corresponding fields of the HTML page.

FIG. 5 shows an embodiment of the method according to the invention fortransmission of an input value from a client computer to a control unit.In step 50, the input value is entered in one of the fields of the HTMLdocument, for example field A (compare FIGS. 2 and 3). In step 51, thisinput value is assigned to a specific address, i.e. a particular controlunit if a plurality of control units are present, and to a storageaddress on the control unit in question. This assignment of the inputvalue to an address is made via the corresponding assignment of theinput field to the address which is provided by means of a furtherdocument in a markup language (compare document 31 of FIGS. 2 and 3).

In step 52, the input value is transferred together with the address tothe server and from there stored at the corresponding address.

FIG. 6 shows a further preferred embodiment of a control system forcontrolling a system 25. Elements of the control systems of FIG. 6 whichcorrespond to elements of the control system from FIG. 2 are designatedby the same reference characters.

In contrast to the control system from FIG. 2, table 32 is not part ofthe document 31, but is stored separately in the system server computer27. Instead of that, the document 31 contains a table 36 for assigningcurrent display values to the fields A, B, C, . . . .

The system server computer 27 also includes a program 37. The program 37generates the document 31 with the table 36 automatically by means ofcorresponding accesses to the SPS X, SPS Y, . . . using the table 32. Aseparate table 32 exists for each page 28.

Compared to the embodiment shown in FIG. 2, it is advantageous with theembodiment shown in FIG. 6 that the display values are transferreddirectly to the client and not the addresses which permit these valuesto be queried. Compared to the embodiment shown in FIG. 2, therefore,with the embodiment shown in FIG. 6 the load on the network 35 isreduced. This is achieved in particular in that the program 37 generatestable 36 in document 31 on the server side by accessing table 32.

During operation of the system shown in FIG. 6, a user of the clientcomputer 33 navigates by means of the browser 34 via the network 35 tothe HTML document 28; for example the user selects a correspondinghypertext link or enters the URL of the document 28 into the browser 34.

The document 28 is then transferred via the network 35 to the clientcomputer 33. The script 29 of the document 28 is also launchedautomatically on the client computer 33 and executed. The script can be,for example, a JAVA script or a Visual Basic script; alternatively, aso-called applet can also be used.

The script 29 reads the pointer 30 of the document 28 and accesses thedocument 31 on the system server computer 27 by means of thecorresponding URL. The program 37 then determines the addresses of therequired values in the SPSs from table 32 and fetches the values via thefieldbus 26. The program 37 then generates the document 31, in which thetable 36 is coded with field/value assignment. The document 31 is thentransferred via the network 35 to the client computer 33.

The script 29 then reads out the assignments of the fields A, B and C tothe values in table 36 and modifies the displayed elements of the HTMLpage 28 in the browser 34. The values can be displayed here for exampleas numeric values in HTML fields or a value can also be translated forexample into a color change of an HTML element.

User inputs in the browser 34 can also be transferred from the client 33to the system 25 in the same way. If a user has modified HTML fields ofthe HTML page 28 displayed in the browser 34, the script 29 generates adocument 31 on the client 33, in which document 31 the table 36 is codedwith the field/value assignment.

This document 31 is transferred from the client 33 to the system server27. There, the program 37 interprets/translates the field names fromtable 36 into SPS addresses with the aid of table 32 and sends thevalues from table 37 via the fieldbus 26 to the corresponding SPSs.

Accordingly, it is also possible to vary the embodiment shown in FIG. 3in such a way that the document 31 contains a table 36 with the fieldvalues. For this purpose the table 38 (cf. FIG. 3) is stored on thesystem server 27, and a corresponding program 37 generates the fieldvalues.

To sum up, the invention pertains to a control system with at least onecontrol unit SPS X, SPS Y, . . . , a server computer, a first documentin a markup language and a second document in a markup language forloading by a client computer, whereby the first document contains atleast a field A, B, C, . . . and the second document contains data forassigning the field to an address of a control unit.

1. A method for transmission process values from stored program controlsto a client computer, comprising: providing a plurality of storedprogram controls, wherein a system is controlled based upon theplurality of stored program controls, wherein at least one storedprogram control has a plurality of different addresses, for accessingthe process values; retrieving a first document in a markup languagefrom a server computer into a client computer the first documentcomprising first, second, and third fields for the process values and apointer to a second document in a markup language in the servercomputer; retrieving the second document into the client computer viathe pointer, with the second document having data for assigning thefirst field to a first address of a first stored program control,assigning the second field to a second address of the first storedprogram control, and assigning the third field to a first address of asecond stored program control; assigning the first field to the firstaddress of the first stored program control using the data in the seconddocument; assigning the second field to the second address of the firststored program control using the data in the second document; assigningthe third field to the first address of the second stored programcontrol using the data in the second document; querying the processvalues from the addresses of the first stored program control and thesecond stored program control; transmitting the process values from theserver computer to the client computer; and displaying the processvalues in the fields of the first document on the client computer.
 2. Amethod for transmission of an input value from a client computer to aparticular stored program control, comprising: providing a plurality ofstored program controls, wherein a system is controlled based upon theplurality of stored program controls, wherein at least one storedprogram control has a plurality of different addresses, for accessingprocess values; retrieving a first document in a markup language from aserver computer into a client computer the first document comprisingfirst, second, and third fields for the process values and a pointer toa second document in a markup language in the server computer;retrieving the second document into the client computer via the pointer,the second document containing data for; assigning the first field to afirst address of a first stored program control, assigning the secondfield to a second address of the first stored program control, andassigning the third field to a first address of a second stored programcontrol; assigning the first field to the first address of the firststored pro gram control using the data in the second document; assigningthe second field to the second address of the first stored programcontrol using the data in the second document; assigning the third fieldto the first address of the second stored program control using the datain the second document; entering the input value into the first field ofthe first document at the client computer; and transmitting the inputvalue from the first field of the first document on the client computervia the server computer to the first stored program control.
 3. A methodaccording to claim 1, wherein the data in the second document forassigning each field of the first document to a respective address of arespective stored program control contains the respective address of therespective stored program control.
 4. A method according to claim 1,wherein the second document assigns a designation to each field of thefirst document, and a database of the server computer is queried using ascript, the database containing an assignment of the designation to therespective address of the respective stored program control.
 5. A methodfor transmission of process values from stored program controls to aclient computer, the method comprising: providing a plurality of storedprogram controls, wherein a system is controlled based upon theplurality of stored program controls, wherein at least one storedprogram control has a plurality of different addresses, for accessingthe process values; providing at least one access to a first document ina markup language of a server computer, the first document comprisingfirst, second, and third fields for the process values; providing atleast one access to a second document in a markup language, with thesecond document having data for assigning the first field to a firstaddress of a first stored program control, assigning the second field toa second address of the first stored program control, and assigning thethird field to a first address of a second stored program control;assigning the first field to the first address of the first storedprogram control using the data in the second document; assigning thesecond field to the second address of the first stored program controlusing the data in the second document; assigning the third field to thefirst address of the second stored program control using the data in thesecond document; assigning the second document to the first document,whereby a database is accessed on behalf of the server computer for thepurpose of assigning; querying the process values from the addresses ofthe first stored proaram control and the second stored program control;transmiffing the process values from the server computer to the clientcomputer; and displaying the process values in the fields of the firstdocument on the client computer; whereby the first document is initiallyindependent of the addresses of the stored program controls.
 6. A methodaccording to claim 2, wherein the pointer to the second document is aURL.
 7. A method according to claim 2, wherein the data in the seconddocument for assigning each field of the first document to a respectiveaddress of a respective stored program control contains the respectiveaddress of the respective stored program control.
 8. A method accordingto claim 2, wherein the second document assigns a designation to eachfield of the first document, and a database of the server computer isqueried using a script, said database containing an assignment of thedesignation to the respective address of the respective stored programcontrol.
 9. A method for transmission of an input value from a clientcomputer to stored program control, comprising: providing a plurality ofstored program controls, wherein a system is controlled based upon theplurality of stored program controls, wherein at least one storedprogram control has a plurality of different addresses, for accessingprocess values; providing at least one access to a first document in amarkup language of a server computer, the first document comprisingfirst, second, and third fields for the process values; providing atleast one access to a second document in a markup language, the seconddocument containing data for assigning the first field to a firstaddress of a first stored program control, assigning the second field toa second address of the first stored program control, and assigning thethird field to a first address of a second stored program control;assigning the first field to the first address of the first storedprogram control using the data in the second document; assigning thesecond field to the second address of the first stored program controlusing the data in the second document; assigning the third field to thefirst address of the second stored program control using the data in thesecond document; entering the input value into the first field of thefirst document at the client computer; assigning the second document tothe first document, whereby a database is accessed on behalf of theserver computer for the purpose of assigning; and transmitting the inputvalue from the first field of the first document on the client computervia the server computer to the first stored program control; whereby thefirst document is initially independent of the first address of thefirst stored program control.
 10. A method according to claim 5, whereinthe method is performed by means of a computer program executed on acontrol system.
 11. A method according to claim 9, wherein the method isperformed by means of a computer program executed on a control system.12. A control system comprising: a server computer; a plurality ofstored program controls connected to a common system to be controlled,wherein the stored program controls are connected to the servercomputer, the stored program controls providing process data values andspecific addresses for access thereof, wherein at least one storedprogram control has at least two specific addresses for respective onesof the process data values; a first document specified in a markuplanguage on the server computer, the first document comprising first,second, and third data fields; a second document specified in a markuplanguage on the server computer, the second document comprisingassociations of the data fields of the first document with respectivespecific addresses of the process data values; a pointer linking thefirst document to the second document; and the first document designedvia the markup language to instruct a browser program on a clientcomputer that each data field of the first document is to be displayedwith one of the process data values via one of the associations in thesecond document; wherein the first field is assigned to a first specificaddress of a first stored program control using the associations in thesecond document, the second field is assigned to a second specificaddress of the first stored program control using the associations inthe second document, and the third field is assigned to a first specificaddress of a second stored program control using the associations in thesecond document; whereby a change of one of the specific addresses onlyrequires a change in said one of specific addresses in one of theassociations in the second document.
 13. The control system of claim 12wherein the first document is further designed to receive aclient-entered value in a given data field on the client computer, andto transmit the client-entered value via the browser to the server, andthe server further comprises a computer program that stores theclient-entered value in the specific address that is associated in thesecond document with the given data field in the first document.
 14. Acontrol system according to claim 12, wherein the associations areprovided in a field assignment table in the second document thatassociates a set of data fields in the first document with acorresponding set of addresses for read and write access to respectiveprocess control variables in the stored program controls connected tothe server computer.
 15. A control system according to claim 14 whereinthe pointer is in the first document.
 16. A control system according toclaim 14 wherein the pointer is provided in a document pointer table onthe server computer that associates each of a first set of documentswith a corresponding one of a set of second documents; the fieldassignment table uses symbolic parameter designations as thecorresponding set of addresses; and further comprising aparameter-designation-to-address association table in the server thatassociates each of the symbolic parameter designations with a respectiveone of the corresponding set of addresses for read and write access toprocess control variables in the stored program controls connected tothe server computer.
 17. A control system according to claim 12, whereinthe associations are provided in a field assignment table in the servercomputer that associates the data fields in the first document with acorresponding set of addresses for read and write access to respectiveprocess control variables in the stored program controls connected tothe server computer, and further comprising a field value table in thesecond document that associates the set of data fields in the firstdocument with corresponding values of the respective process controlvariables.